Road Map to QuickTime 3
This chapter discusses the attributes of image compresor and decompressor (Codec) components and the functional interfaces these components must support. A Codec component is a code resource that provides image compression and/or decompression services for image data. Both the compressor and decompressor components are described.
For historical reasons, these components are sometimes referred to as Image Compressor components, rather than Codec components, as a generic term for both compressors and decompressors.
To make it easier for developers to create new decompressor components, Apple provides a Base Image Decompressor component. You can use this component to perform most of the services that are common to all decompressors, allowing you to focus on the tasks that are specific to your decompressor.
This material is generally of interest to developers who will be writing Codec components. Most applications developers will use the Image Compression Manager to interact with these components, and only need to read the sections " About Image Compressor Components " and " Using Image Compressor Components ."
About Image Compressor ComponentsInside Macintosh describes the general characteristics of an image compressor component, including its component type. Several functions that a compressor component must support are explained and discussed, including
Inside Macintosh describes what the Image Compression Manager does that affects Codecs. It also provides sample code that shows how the Codec components prepare for image compression, and how to compress or decompress an image or a horizontal band from an image.
QuickTime 3 Reference describes the features added to the Codec components as part of QuickTime 2.0, 2.5, and 3.0. The new features are
QuickTime 3 Reference defines the new functions that Codec component developers need to know about. These functions support new features of QuickTime.
Inside Macintosh defines the functions that are invoked by the Image Compression Manager in direct response to application functions:
Inside Macintosh defines the functions that are invoked by the Image Compression Manager but do not correspond to functions called by applications. These functions can be called at any time:
Image Compression Manager Utility FunctionsInside Macintosh defines utility functions of the Image Compression Manager that components can call. These functions are primarily used to manipulate image description records. QuickTime 3 Reference adds two new functions to the list, which a component can use to communicate with the Image Compression Manager about the cursor, or to inform the manager that an asynchronous decompression is complete.
Inside Macintosh defines the result codes that can be returned by image compressor component functions in the event of an error.
Data TypesInside Macintosh describes the data types your component will use to communicate with the Image Compression Manager. QuickTime 3 Reference adds two new structures to the list, and documents several new flags and parameters added to the existing structures.
Inside Macintosh defines the flags used to describe image compressor capability and format.
About the Base Image DecompressorQuickTime 3 Reference describes the features of the base image decompressor. The base image decompressor is an Apple-supplied component that makes it easier for developers to create new decompressors. The base image decompressor does most of the housekeeping and interface functions required for a QuickTime decompressor component, including scheduling for asynchronous decompression.
Using the Base Image Decompressor
QuickTime 3 Reference describes the functions of your decompressor component that will be called by the base image compressor. Detailed information is provided about when these functions will be called, and code samples are given.
QuickTime 3 Reference defines the functions that your decompressor component must include in order to use the base image decompressor.
QuickTime 3 Reference defines the data structures used to communicate between your decompressor component and the base image decompressor.
Base Image Decompressor ConstantsQuickTime 3 Reference defines the component type for image decompressors, the component subtype for the base image decompressor, and the selector flags used for component calls.
Base Image Decompressor Result CodesQuickTime 3 Reference defines the result code that your component should return if an invalid selector is used in a function call.